iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0
Mobile Development

上班到一半突然被通知被炒了的我只好來寫個賓果系列 第 20

Day20 切換switch模式後的各種問題(賓果的遊戲模式切換回輸入模式)

  • 分享至 

  • xImage
  •  

上期我們設定了在遊戲模式時,把亂數、確定等按鈕都鎖住,卻導致了回到輸入模式時無法使用的囧境,所以這次我們要來解決這件事

設定新的function,setEnabled(true);
https://ithelp.ithome.com.tw/upload/images/20220912/20140063C3OvveuXB3.png

這樣就可以解決切換模式時不能按亂數、確定等按鈕的問題了!但是,在遊戲模式中點擊按鈕,使其變紅後,回到輸入模式他不會變回白色,所以在切換回輸入模式時也要順便解決這個問題。
https://ithelp.ithome.com.tw/upload/images/20220912/20140063nYY7aKvM6W.png
加上個for迴圈去一個一個設定就可以啦

private void changeInputModel() {
   for (int i = 0; i < m_iSize * m_iSize; i++) {
       m_alBingoButtons.get(i).getButton().setBackgroundResource(R.drawable.button_style); //按鈕設為白色
       m_alBingoButtons.get(i).setStatus(false); //所有按鈕設為未被點擊
   }
   m_binding.tvBingoLine.setText("");
   m_binding.btnSure.setEnabled(true);
   m_binding.btnRandom.setEnabled(true);
   m_binding.etInput.setEnabled(true);
   m_binding.etBingoArrayNumber.setEnabled(true);
}

弄完後記得去,checkSwitchStatus把function加上
https://ithelp.ithome.com.tw/upload/images/20220912/201400634iOphDMeqO.png

private void checkSwitchStatus() {
   if (m_binding.switchModel.isChecked() == true) {
       Log.i("LogTest", "輸入模式");
       changeInputModel();
   } else if (m_binding.switchModel.isChecked() == false) {
       Log.i("LogTest", "遊戲模式");
       changeGameModel();

   }
}

這樣賓果就完成大半啦!基本上也是可以玩了,但有些人會希望可以幫忙計算連線數,所以之後幾天應該會來計算連線數,以及目前在輸入模式時,如果輸入數字是空白然後去點擊格子,是不會有任何反應的,所以之後可能會在那邊加上跳出dialog輸入框,讓使用者也可以直接點擊格子去增加數字。


上一篇
Day19 哪有人可以在玩賓果時一直亂換數字的 作弊吧!
下一篇
Day21 Android Studio 賓果連線數計算
系列文
上班到一半突然被通知被炒了的我只好來寫個賓果30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
罷告
iT邦新手 5 級 ‧ 2022-09-21 10:02:16

敢不敢跟我PK賓果

我要留言

立即登入留言